Kari Markus Granlund (born 16 April 1993) is a Finland professional ice hockey forward who is currently playing with Genève-Servette HC of the National League (NL). He is a second-round selection of the Calgary Flames, taken 45th overall at the 2011 NHL Entry Draft. Granlund played two seasons in the Liiga for HIFK before moving to North America to join the Flames organization in 2013. His older brother Mikael Granlund plays in the NHL for the Anaheim Ducks.
Granlund moved to North America following his second year in the SM-liiga as he signed a three-year contract with the Flames on 19 April 2013. He was assigned to Calgary's American Hockey League (AHL) affiliate, the Abbotsford Heat, to begin the 2013–14 season. He initially struggled to adapt to life in Canada, and while he had a clause in his contract that would allow him to return to Finland, Granlund opted to remain with the Flames organization. He earned a brief recall to Calgary in late December 2013 but did not appear in an NHL game. Granlund was the AHL's leading goal scorer among rookies with 23 at the time of his second recall in late February, and made his NHL debut on 27 February 2014, in a 2–0 loss to the Los Angeles Kings. He recorded his first NHL point in his third game, an assist on 3 March against his brother's Minnesota Wild. On the same day, the AHL named him that league's rookie of the month for February. He recorded 12 points in 10 games and was a +6 over that time. Granlund scored his first goal two nights later in a 4–1 win over the Ottawa Senators.
In the , the last season of his entry-level deal, Granlund was reassigned to begin the year with new AHL affiliate, the Stockton Heat. The Flames recalled him after scoring a goal and assist in the Heat's inaugural game on 15 October 2015. After 31 games with the Flames, contributing with 7 points, Granlund was traded by Calgary to the Vancouver Canucks in exchange for Hunter Shinkaruk on 22 February 2016. On 22 June 2018, the Canucks re-signed Granlund to a one year, 1.475M contract.
During the 2019 offseason, the Canucks did not tender a qualifying offer to Granlund, releasing him as a free agent. On 1 July 2019, he agreed to a one-year, $1.3 million contract with his third Western Canadian club, the Edmonton Oilers. In the , Granlund struggled to make an impression with the Oilers collecting just three goals and 4 points in 34 regular season games before he was waived and reassigned to AHL affiliate, the Bakersfield Condors. Granlund registered 15 points in 20 games with the Condors before the season was abruptly ended due to the COVID-19 pandemic.
As an impending free agent and left off the Oilers' return-to-play roster, Granlund halted his NHL career by agreeing to a two-year contract with Russian club Salavat Yulaev Ufa of the Kontinental Hockey League on 17 July 2020.
During the midst of his second season with Salavat, in March 2022, Granlund left Salavat Yulaev Ufa ahead of the playoffs due to the Russian invasion of Ukraine.
As a free agent, Granlund continued his European career by signing a two-year contract with Swiss National League club, HC Lugano, on 19 July 2022.
On 31 May 2024, Granlund signed with NL team Genève-Servette HC.
| 2009–10 | HIFK | FIN U18 | 8 | 9 | 17 | 26 | 6 | — | — | — | — | — |
| 2009–10 | HIFK | FIN U20 | 37 | 17 | 25 | 42 | 38 | 14 | 2 | 11 | 13 | 18 |
| 2010–11 | HIFK | FIN U20 | 40 | 20 | 32 | 52 | 49 | 5 | 4 | 5 | 9 | 6 |
| 2010–11 | HIFK | Liiga | 2 | 0 | 0 | 0 | 0 | — | — | — | — | — |
| 2011–12 | HIFK | SM-l | 47 | 15 | 19 | 34 | 18 | 3 | 0 | 0 | 0 | 0 |
| 2011–12 | Kiekko–Vantaa | Mestis | 1 | 0 | 0 | 0 | 0 | — | — | — | — | — |
| 2011–12 | HIFK | FIN U20 | — | — | — | — | — | 1 | 1 | 0 | 1 | 0 |
| 2012–13 | HIFK | SM-l | 50 | 10 | 20 | 30 | 18 | 5 | 1 | 2 | 3 | 4 |
| 2013–14 | Abbotsford Heat | AHL | 50 | 23 | 21 | 44 | 22 | 4 | 2 | 3 | 5 | 2 |
| 2013–14 | Calgary Flames | NHL | 7 | 2 | 1 | 3 | 0 | — | — | — | — | — |
| 2014–15 | Adirondack Flames | AHL | 21 | 9 | 8 | 17 | 14 | — | — | — | — | — |
| 2014–15 | Calgary Flames | NHL | 48 | 8 | 10 | 18 | 16 | 3 | 0 | 1 | 1 | 0 |
| 2015–16 | Stockton Heat | AHL | 12 | 5 | 4 | 9 | 10 | — | — | — | — | — |
| 2015–16 | Calgary Flames | NHL | 31 | 4 | 3 | 7 | 8 | — | — | — | — | — |
| 2015–16 | Vancouver Canucks | NHL | 16 | 2 | 1 | 3 | 6 | — | — | — | — | — |
| 2016–17 | Vancouver Canucks | NHL | 69 | 19 | 13 | 32 | 14 | — | — | — | — | — |
| 2017–18 | Vancouver Canucks | NHL | 53 | 8 | 4 | 12 | 8 | — | — | — | — | — |
| 2018–19 | Vancouver Canucks | NHL | 77 | 12 | 10 | 22 | 20 | — | — | — | — | — |
| 2019–20 | Edmonton Oilers | NHL | 34 | 3 | 1 | 4 | 14 | — | — | — | — | — |
| 2019–20 | Bakersfield Condors | AHL | 20 | 6 | 9 | 15 | 14 | — | — | — | — | — |
| 2020–21 | Salavat Yulaev Ufa | KHL | 50 | 23 | 30 | 53 | 26 | 9 | 3 | 5 | 8 | 6 |
| 2021–22 | Salavat Yulaev Ufa | KHL | 41 | 8 | 30 | 38 | 16 | — | — | — | — | — |
| 2022–23 | HC Lugano | NLA | 47 | 22 | 23 | 45 | 22 | 7 | 2 | 6 | 8 | 8 |
| 2023–24 | HC Lugano | NLA | 20 | 4 | 12 | 16 | 10 | — | — | — | — | — |
| 2024–25 | Genève-Servette | NLA | 39 | 21 | 26 | 47 | 42 | — | — | — | — | — |
| 2010 | Finland | U17 | 10th | 5 | 2 | 3 | 5 | 16 |
| 2010 | Finland | WJC18 | 6 | 1 | 5 | 6 | 4 | |
| 2011 | Finland | WJC18 | 5th | 6 | 2 | 8 | 10 | 6 |
| 2012 | Finland | WJC | 4th | 7 | 2 | 5 | 7 | 6 |
| 2013 | Finland | WJC | 7th | 6 | 5 | 7 | 12 | 4 |
| 2022 | Finland | Winter Olympics | 6 | 0 | 1 | 1 | 25 | |
|
|